import axios from "axios";
const instance = axios.create({
    //统一设置请求域名地址
    baseURL: '/api'
})

// 请求拦截器
instance.interceptors.request.use(config => {
    // 每次发起请求之前都会经过这里

    // 统一设置请求头
    let token = localStorage.getItem("x-auth-token");
    if (token) {
        config.headers['x-auth-token'] = token;
    }
    // console.log("请求拦截器");
    return config;
}, error => {
    return Promise.reject(error)
})

// 响应拦截器
instance.interceptors.response.use(response => {
    //每次请求完成响应到组件之前先经过这里。
    //响应回来的数据中code为0一般都表示成功否则都是失败了。
    //作用：可以在这里统一对数据进行二次处理。 
    // console.log("响应拦截器", response);
    // 统一处理错误信息
    if (response.data.code != 0 && response.data.code != 400 && response.data.code != 407) {
        alert(response.data.message);
        return//相当于返回了undefined
    }
    return response;
    // 函数没有return 默认返回undefined
}, error => {
    return Promise.reject(error)
})

export default instance;